## Postman-коллекция для проверки API

Файл `diploma.postman_collection.json` содержит postman-коллекцию - набор заранее подготовленных запросов для проверки работы API.

## Подготовка Django-проекта к запуску коллекции:
1. Проверьте, что виртуальное окружение развёрнуто и активировано, зависимости проекта установлены.
2. Для локальной проверки API в настройках `settings.py` подключите в качестве базы данных SQLite3 
и установите значение `DEBUG = True`.
3. Выполните миграции; создайте в базе данных как минимум 2 ингредиента и 3 тега.
4. Запустите веб-сервер разработки.

*После подготовки проекта создайте копию файла базы данных `db.sqlite3`: 
она может пригодиться в случае сбоя в работе.*

## Загрузка коллекции в Postman:

1. Запустите Postman.
2. В левом верхнем углу нажмите `File` -> `Import`.
3. Во всплывающем окне будет предложено перетащить в него файл с коллекцией либо выбрать файл через окно файлового менеджера.
Загрузите файл `diploma.postman_collection.json` в Postman.

## Запуск коллекции:

1. После выполнения предыдущих шагов, в левой части окна Postman во вкладке `Collections` появилась импортированная коллекция.
Наведите на неё курсор, нажмите на три точки напротив названия коллекции и в выпадающем списке выберите `Run collection`. В центре экрана появится список запросов коллекции,
а в правой части экрана - меню для настройки параметров запуска.
2. В правом меню включите функцию `Persist responses for a session` - это даст возможность посмотреть ответы API после запуска коллекции.
3. Нажмите кнопку `Run <название коллекции>`.
4. В центре экрана отобразится результат запуска коллекции и тестов. Провалившиеся тесты можно отфильтровать, перейдя во вкладку `Failed`.
Посмотрите детали выполненного запроса и полученного ответа: для этого нажмите на тест.

## Повторный запуск коллекции:
1. Перейдете в директорию `postman_collection` в корне проекта.
2. При активированном виртуальном окружении проекта, запустите скрипт для очистки базы данных от объектов, созданных при выполнении запросов коллекции: `bash clear_db.sh`.  
При выполнении скрипта будут удалены все пользователи и объекты, созданные при предыдущем запуске коллекции (при условии корректной настройки параметров `on_delete` в моделях проекта).
  
При сбое очистки базы данных, используйте резервную копию файла `db.sqlite3`: замените текущий файл базы данных на эту копию. 
А можно создать базу данных заново и наполнить её объектами, необходимыми для корректного запуска коллекции (как описано в п.3 раздела _Подготовка Django-проекта к запуску коллекции_).

## Ограничения от разработчиков Postman
В бесплатной версии программы Postman есть техническое ограничение: коллекцию можно беспрепятственно запускать 25 раз в месяц.  
После исчерпания этого лимита Postman не превратится в тыкву: он по-прежнему будет запускать коллекции, но запуск иногда будет блокироваться на 30 секунд (иногда дважды подряд), и в это время в интерфейсе программы будет появляться предложение приобрести платную версию.  
Вы можете купить платную версию, а можете просто продолжить пользоваться бесплатной версией, время от времени прерываясь на просмотр рекламы.

Для отправки отдельных запросов никаких ограничений нет.
